import type {
  productNotifyProperties,
  deepProductNotifyProperties,
  taskProperties
} from '@main/socket/type';
import type { productHandleRes } from '@main/service/workflow/type';
import type { Identifiable } from '@shared/utils/array';

export enum productStepwiseEnum {
  接收商品标题 = 0,
  获取商品ID = 1,
  商品通知 = 2,
  深度商品通知 = 3,
  创建草稿 = 4,
  创意魔方 = 5
}
export type ContentProperties = Identifiable &
  Partial<productHandleRes & productNotifyProperties> &
  MarkPropsAsOptional<deepProductNotifyProperties, 'sell_copy'> & {
    /**
     * 初始标题 用户不可见
     */
    begin_title: string;
    /**
     * 任务来源
     */
    task?: taskProperties;
    /**
     * 商品处理状态
     */
    stepwise?: productStepwiseEnum[];
    /**
     * 草稿ID 生成草稿后出现，提交创意魔方传递
     */
    draft_id?: number;
    /**
     * 禁用生成魔方
     */
    disabledUseMoFang: boolean;
    /**
     * 商品标题 用户可见可编辑
     */
    product_title: string;
    /**
     * 视频素材
     */
    video_materials?: string[];
    /**
     * 异常信息
     */
    error_message?: string;
    /**
     * 异常信息
     */
    deepAi_error_message?: string;
    /**
     * 是否隐藏
     */
    hidding?: boolean;
    /**
     * 是否重写核⼼卖点
     */
    is_sell_point_override: boolean;
    /**
     * 重写核⼼卖点
     */
    sell_point_override?: string;
    /**
     * 是否重写视频⽂案和视频名称数组
     */
    is_deepAi_override: boolean;
    /**
     * 重写视频⽂案
     */
    sell_copy_override?: string;
    /**
     * 重写视频名称数组
     */
    video_names_override?: string[];
  };
